#include <iostream>
#include <cstring>

using namespace std;

class Stack
{
private:
    /* data */
    int count;      // 栈中元素个数
    int n;          // 栈的大小
    int items[10];  // 数组

public:
    Stack(/* args */);
    ~Stack();
    // 初始化数组，申请一个大小为n的数组空间
    void initStack(int number)
    {
        n = number;
        count = 0;
    }

    // 入栈操作
    bool push(int item)
    {
        // 数组空间不够了，直接返回false，入栈失败
        if (count == n)
        {
            return false;
        }
        // 将item放到下标为count的位置，并且count加一
        items[count] = item;
        ++count;
        return true;
    }

    // 出栈操作
    int pop()
    {
        // 栈为空， 则直接返回-7
        if(count == 0)
        {
            return -7;
        }
        // 返回下标为count -1 的数组元素,并且栈中元素个数减一
        int tmp = items[count-1];
        --count;
        return tmp;
    }

};

void testStack();
